Systems and methods for semantic keyword analysis

ABSTRACT

In various embodiments, a method for generating from one or more keywords a list of related topics for organic search includes receiving, by a topic tool, an input of one or more keywords for which to generate a list of related topics. The method may further include acquiring, by a crawler, content from a plurality of different web content sources via one or more networks. The method may also include applying, by the topic tool, to the acquired content an ensemble of one or more key phrase extraction algorithms, one or more graph analyses algorithms and one or more natural language processing algorithms to identify a set of semantically relevant topics scored by relevance. The method may also include generating, by the topic tool, from the set of semantically relevant topics, a knowledge graph of related topics for the input of the one or more keywords. The method may further include outputting, by the topic tool based at least partially on the knowledge graph, an enumerated list of topics ranked by at least a relevance score.

CROSS-REFERENCES TO RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No.16/523,267 titled “SYSTEMS AND METHODS FOR SEMANTIC KEYWORD ANALYSIS”and filed on Jul. 26, 2019 which is a continuation of U.S. applicationSer. No. 14/928,210 titled “SYSTEMS AND METHODS FOR SEMANTIC KEYWORDANALYSIS” and filed on Oct. 30, 2015, (now U.S. Pat. No. 10,409,875)which claims priority to and the benefit of U.S. Provisional ApplicationNo. 62/073560, titled “SYSTEMS AND METHODS FOR SEMANTIC KEYWORD ANALYSISFOR ORGANIC SEARCH” and filed on Oct. 31, 2014, which is incorporated byreference herein in its entirety for all purposes.

FIELD OF THE DISCLOSURE

This disclosure generally relates to systems and methods for keywordresearch and analysis, and in particular, to keyword research andanalysis with respect to organic search engine optimization.

BACKGROUND OF THE DISCLOSURE

In efforts to increase organic visibility and traffic of web pages(e.g., blogs, news sites, etc.), owners of web pages may engage insearch engine optimization (SEO). Search engine optimization entailsconsiderations of how search engines work, what people search for, howpeople search (e.g., what terms people use to search for varioustopics), and the like. As an example of one method of SEO, owners ofwebsites may attempt to manually research search terms typically relatedto the topics of their websites, and attempt to incorporate those termsinto their content. However, such a method may be cumbersome,time-consuming, and provide minimal beneficial effect on SEO.

BRIEF SUMMARY OF THE DISCLOSURE

The present solution provides a new tool for keyword research andanalysis for search engine optimization. Various embodiments of the toolprovide an efficient and user-friendly mechanism for identifying relatedtopics that may be incorporated into a user's website in an effort toincrease organic traffic.

In various embodiments, a method for generating from one or morekeywords a list of related topics for organic search includes receiving,by a topic tool, an input of one or more keywords for which to generatea list of related topics. The method may further include acquiring, by acrawler, content from a plurality of different web content sources viaone or more networks. The method may also include applying, by the topictool, to the acquired content an ensemble of one or more key phraseextraction algorithms, one or more graph analyses algorithms and one ormore natural language processing algorithms to identify a set ofsemantically relevant topics scored by relevance. The method may alsoinclude generating, by the topic tool, from the set of semanticallyrelevant topics, a knowledge graph of related topics for the input ofthe one or more keywords. The method may further include outputting, bythe topic tool based at least partially on the knowledge graph, anenumerated list of topics ranked by at least a relevance score.

In some embodiments, the method further includes receiving, by the topictool, the input of one or more keywords from a topic inventory tool, thetopic inventory tool generating the input keyword from analyses ofcontent from an identified web site.

In some embodiments, the method further includes acquiring content, by acrawler, from the plurality of different web content sources includingweb sites, news articles, blog posts and keyword data.

According to some embodiments, the method further includes cleansing andnormalizing the acquired content.

In some embodiments, the one or more key phrase extraction algorithmsinclude a Bayesian statistical ensemble.

In some embodiments, the method further includes performing a pluralityof term ranking functions including one or more of a core phrase termranking function, a tail phrase term ranking function, a hyperdictionarygraph traversal algorithm and/or a semantic knowledgebase path traversalscore.

In some embodiments, the method further includes applying a weight toeach of the more algorithms of the ensemble to generate the relevancescore for the set of semantic relevance scored phrases.

In some embodiments, the method further includes outputting theenumerated list of topics ranked by a measure of frequency including oneof more of frequency in page body, frequency in title and/or number ofpages where the topics occur.

In some embodiments, the method further includes outputting theenumerated list of topics ranked by at least one of an attractivenessscore, a volume score and a competition score.

In some embodiments, the method further includes outputting theenumerated list of topics ranked by an estimated equivalent valueassociated with paid advertising.

According to various embodiments, a system for generating from one ormore keywords a list of related topics for organic search includes acrawler configured to acquire content from a plurality of different webcontent sources via one or more networks. The system further includes atopic tool configured to receive an input of one or more keywords forwhich to generate a list of related topics. The topic tool may befurther configured to receive an input of one or more keywords for whichto generate a list of related topics and to apply to the acquiredcontent an ensemble of one or more key phrase extraction algorithms, oneor more graph analyses algorithms and one or more natural languageprocessing algorithms to identify a set of semantically relevant topicsscored by relevance. The topic tool may be configured to generate fromthe set of semantically relevant topics, a knowledge graph of relatedtopics for the input of the one or more keywords. The topic tool may beconfigured to output based at least partially on the knowledge graph andan enumerated list of topics ranked by at least a relevance score.

In some embodiments, the system further includes a topic inventory toolconfigured to generate the input of one or more keywords from analysesof content from an identified web site.

In some embodiments, the key phrase extraction algorithms include aBayesian statistical ensemble.

In some embodiments, the ensemble is further configured to perform aplurality of term ranking functions including one or more of a corephrase term ranking function, a tail phrase term ranking function, ahyperdictionary graph traversal algorithm and/or a semanticknowledgebase path traversal score.

In some embodiments, the topic tool is configured to output theenumerated list of topics ranked by one or more of measuring frequency,an attractiveness score, volume score and/or a competition score.

According to various embodiments, a system including a content audittool configured to execute on a processer to receive a focus one or morekeywords for a website, the website crawled by a crawler for content.The content audit tool may be configured to apply to the content anensemble of one or more key phrase extraction algorithms, one or moregraph analyses algorithms and one or more natural language processingalgorithms to identify a set of semantic relevant topics scored byrelevance. The content audit tool may be configured to identify aplurality of pages of the website with one or more related topics fromthe set of semantically relevant topics and generating a contentperformance metric for each page of the plurality of pages. The contentaudit tool may be configured to output a topical content score for thecontent, the topical content score identifying a level of coverage ofthe topic by the content of the website.

In some embodiments, the content audit tool is further configured tofilter content by at least one of company name, product name or people'snames.

In some embodiments, the content audit tool is further configured tooutput a relevance score for each related topic of the set of one ormore related topics.

In some embodiments, the content audit tool is further configured tooutput a count of a number of instances of each related topic.

In some embodiments, the content audit tool is further configured tooutput a total number of mentions of related topics in the content.

BRIEF DESCRIPTION OF THE DRAWINGS

The foregoing and other objects, aspects, features, and advantages ofthe disclosure will become more apparent and better understood byreferring to the following description taken in conjunction with theaccompanying drawings, in which:

FIG. 1A is a block diagram depicting an embodiment of a networkenvironment comprising client devices in communication with serverdevices;

FIG. 1B is a block diagram depicting a cloud computing environmentcomprising client devices in communication with cloud service providers;

FIGS. 1C and 1D are block diagrams depicting embodiments of computingdevices useful in connection with the methods and systems describedherein;

FIG. 2A is an embodiment of a system comprising a keyword research andanalysis tool;

FIG. 2B is an embodiment of a screen shot of a topic tool page;

FIG. 2C depicts a block diagram of a method for generating relatedkeywords.

FIG. 2D is an embodiment of a screen shot of a topic tool page;

FIG. 2E is an embodiment of a screen shot of a relevant topics tablepage;

FIG. 2F is an embodiment of a screen shot of content audit page;

FIG. 2G is another embodiment of a screen shot of a content audit page;

FIG. 2H is an embodiment of a screen shot of a topic inventory toolpage;

FIG. 2I is another embodiment of a screen shot of a topic inventory toolpage;

FIG. 3A is a flow diagram depicting an embodiment of a method of using atopic tool; and

FIG. 3B is a flow diagram depicting an embodiment of a method of using acontent audit tool.

DETAILED DESCRIPTION

For purposes of reading the description of the various embodimentsbelow, the following descriptions of the sections of the specificationand their respective contents may be helpful:

Section A describes a network environment and computing environment thatmay be useful for practicing embodiments described herein.

Section B describes embodiments of systems and methods for a keywordresearch and analysis tool.

Section C describes embodiments of systems and methods for a crawler.

Section D describes embodiments of a storage medium including anensemble of algorithms.

Section E describes embodiments of systems and methods for a topic tool.

Section F describes embodiments of systems and methods for a contentaudit tool.

Section G describes embodiments of systems and methods for a topicinventory tool.

A. Computing and Network Environment

Prior to discussing specific embodiments of the present solution, it maybe helpful to describe aspects of the operating environment as well asassociated system components (e.g., hardware elements) in connectionwith the methods and systems described herein. Referring to FIG. 1A, anembodiment of a network environment is depicted. In brief overview, thenetwork environment includes one or more clients 102 a-102 n (alsogenerally referred to as local machine(s) 102, client(s) 102, clientnode(s) 102, client machine(s) 102, client computer(s) 102, clientdevice(s) 102, endpoint(s) 102, or endpoint node(s) 102) incommunication with one or more servers 106 a-106 n (also generallyreferred to as server(s) 106, node 106, or remote machine(s) 106) viaone or more networks 104. In some embodiments, a client 102 has thecapacity to function as both a client node seeking access to resourcesprovided by a server and as a server providing access to hostedresources for other clients 102 a-102 n.

Although FIG. 1A shows a network 104 between the clients 102 and theservers 106, the clients 102 and the servers 106 may be on the samenetwork 104. In some embodiments, there are multiple networks 104between the clients 102 and the servers 106. In one of theseembodiments, a network 104′ (not shown) may be a private network and anetwork 104 may be a public network. In another of these embodiments, anetwork 104 may be a private network and a network 104′ a publicnetwork. In still another of these embodiments, networks 104 and 104′may both be private networks.

The network 104 may be connected via wired or wireless links. Wiredlinks may include Digital Subscriber Line (DSL), coaxial cable lines, oroptical fiber lines. The wireless links may include BLUETOOTH, Wi-Fi,Worldwide Interoperability for Microwave Access (WiMAX), an infraredchannel or satellite band. The wireless links may also include anycellular network standards used to communicate among mobile devices,including standards that qualify as 1G, 2G, 3G, or 4G. The networkstandards may qualify as one or more generation of mobiletelecommunication standards by fulfilling a specification or standardssuch as the specifications maintained by International TelecommunicationUnion. The 3G standards, for example, may correspond to theInternational Mobile Telecommunications-2000 (IMT-2000) specification,and the 4G standards may correspond to the International MobileTelecommunications Advanced (IMT-Advanced) specification. Examples ofcellular network standards include AMPS, GSM, GPRS, UMTS, LTE, LTEAdvanced, Mobile WiMAX, and WiMAX-Advanced. Cellular network standardsmay use various channel access methods e.g. FDMA, TDMA, CDMA, or SDMA.In some embodiments, different types of data may be transmitted viadifferent links and standards. In other embodiments, the same types ofdata may be transmitted via different links and standards.

The network 104 may be any type and/or form of network. The geographicalscope of the network 104 may vary widely and the network 104 can be abody area network (BAN), a personal area network (PAN), a local-areanetwork (LAN), e.g. Intranet, a metropolitan area network (MAN), a widearea network (WAN), or the Internet. The topology of the network 104 maybe of any form and may include, e.g., any of the following:point-to-point, bus, star, ring, mesh, or tree. The network 104 may bean overlay network which is virtual and sits on top of one or morelayers of other networks 104′. The network 104 may be of any suchnetwork topology as known to those ordinarily skilled in the art capableof supporting the operations described herein. The network 104 mayutilize different techniques and layers or stacks of protocols,including, e.g., the Ethernet protocol, the internet protocol suite(TCP/IP), the ATM (Asynchronous Transfer Mode) technique, the SONET(Synchronous Optical Networking) protocol, or the SDH (SynchronousDigital Hierarchy) protocol. The TCP/IP internet protocol suite mayinclude application layer, transport layer, internet layer (including,e.g., IPv6), or the link layer. The network 104 may be a type of abroadcast network, a telecommunications network, a data communicationnetwork, or a computer network.

In some embodiments, the system may include multiple, logically-groupedservers 106. In one of these embodiments, the logical group of serversmay be referred to as a server farm 38 or a machine farm 38. In anotherof these embodiments, the servers 106 may be geographically dispersed.In other embodiments, a machine farm 38 may be administered as a singleentity. In still other embodiments, the machine farm 38 includes aplurality of machine farms 38. The servers 106 within each machine farm38 can be heterogeneous—one or more of the servers 106 or machines 106can operate according to one type of operating system platform (e.g.,WINDOWS NT, manufactured by Microsoft Corp. of Redmond, Wash.), whileone or more of the other servers 106 can operate on according to anothertype of operating system platform (e.g., Unix, Linux, or Mac OS X).

In one embodiment, servers 106 in the machine farm 38 may be stored inhigh-density rack systems, along with associated storage systems, andlocated in an enterprise data center. In this embodiment, consolidatingthe servers 106 in this way may improve system manageability, datasecurity, the physical security of the system, and system performance bylocating servers 106 and high performance storage systems on localizedhigh performance networks. Centralizing the servers 106 and storagesystems and coupling them with advanced system management tools allowsmore efficient use of server resources.

The servers 106 of each machine farm 38 do not need to be physicallyproximate to another server 106 in the same machine farm 38. Thus, thegroup of servers 106 logically grouped as a machine farm 38 may beinterconnected using a wide-area network (WAN) connection or ametropolitan-area network (MAN) connection. For example, a machine farm38 may include servers 106 physically located in different continents ordifferent regions of a continent, country, state, city, campus, or room.Data transmission speeds between servers 106 in the machine farm 38 canbe increased if the servers 106 are connected using a local-area network(LAN) connection or some form of direct connection. Additionally, aheterogeneous machine farm 38 may include one or more servers 106operating according to a type of operating system, while one or moreother servers 106 execute one or more types of hypervisors rather thanoperating systems. In these embodiments, hypervisors may be used toemulate virtual hardware, partition physical hardware, virtualizephysical hardware, and execute virtual machines that provide access tocomputing environments, allowing multiple operating systems to runconcurrently on a host computer. Native hypervisors may run directly onthe host computer. Hypervisors may include VMware ESX/ESXi, manufacturedby VMWare, Inc., of Palo Alto, Calif.; the Xen hypervisor, an opensource product whose development is overseen by Citrix Systems, Inc.;the HYPER-V hypervisors provided by Microsoft or others. Hostedhypervisors may run within an operating system on a second softwarelevel. Examples of hosted hypervisors may include VMware Workstation andVIRTUALBOX.

Management of the machine farm 38 may be de-centralized. For example,one or more servers 106 may comprise components, subsystems and modulesto support one or more management services for the machine farm 38. Inone of these embodiments, one or more servers 106 provide functionalityfor management of dynamic data, including techniques for handlingfailover, data replication, and increasing the robustness of the machinefarm 38. Each server 106 may communicate with a persistent store and, insome embodiments, with a dynamic store.

Server 106 may be a file server, application server, web server, proxyserver, appliance, network appliance, gateway, gateway server,virtualization server, deployment server, SSL VPN server, or firewall.In one embodiment, the server 106 may be referred to as a remote machineor a node. In another embodiment, a plurality of nodes 290 may be in thepath between any two communicating servers.

Referring to FIG. 1B, a cloud computing environment is depicted. A cloudcomputing environment may provide client 102 with one or more resourcesprovided by a network environment. The cloud computing environment mayinclude one or more clients 102 a-102 n, in communication with the cloud108 over one or more networks 104. Clients 102 may include, e.g., thickclients, thin clients, and zero clients. A thick client may provide atleast some functionality even when disconnected from the cloud 108 orservers 106. A thin client or a zero client may depend on the connectionto the cloud 108 or server 106 to provide functionality. A zero clientmay depend on the cloud 108 or other networks 104 or servers 106 toretrieve operating system data for the client device. The cloud 108 mayinclude back end platforms, e.g., servers 106, storage, server farms ordata centers.

The cloud 108 may be public, private, or hybrid. Public clouds mayinclude public servers 106 that are maintained by third parties to theclients 102 or the owners of the clients. The servers 106 may be locatedoff-site in remote geographical locations as disclosed above orotherwise. Public clouds may be connected to the servers 106 over apublic network. Private clouds may include private servers 106 that arephysically maintained by clients 102 or owners of clients. Privateclouds may be connected to the servers 106 over a private network 104.Hybrid clouds 108 may include both the private and public networks 104and servers 106.

The cloud 108 may also include a cloud based delivery, e.g. Software asa Service (SaaS) 110, Platform as a Service (PaaS) 112, andInfrastructure as a Service (IaaS) 114. IaaS may refer to a user rentingthe use of infrastructure resources that are needed during a specifiedtime period. IaaS providers may offer storage, networking, servers orvirtualization resources from large pools, allowing the users to quicklyscale up by accessing more resources as needed. Examples of IaaS includeAMAZON WEB SERVICES provided by Amazon.com, Inc., of Seattle, Wash.,RACKSPACE CLOUD provided by Rackspace US, Inc., of San Antonio, Tex.,Google Compute Engine provided by Google Inc. of Mountain View, Calif.,or RIGHTSCALE provided by RightScale, Inc., of Santa Barbara, Calif.PaaS providers may offer functionality provided by IaaS, including,e.g., storage, networking, servers or virtualization, as well asadditional resources such as, e.g., the operating system, middleware, orruntime resources. Examples of PaaS include WINDOWS AZURE provided byMicrosoft Corporation of Redmond, Wash., Google App Engine provided byGoogle Inc., and HEROKU provided by Heroku, Inc. of San Francisco,Calif. SaaS providers may offer the resources that PaaS provides,including storage, networking, servers, virtualization, operatingsystem, middleware, or runtime resources. In some embodiments, SaaSproviders may offer additional resources including, e.g., data andapplication resources. Examples of SaaS include GOOGLE APPS provided byGoogle Inc., SALESFORCE provided by Salesforce.com Inc. of SanFrancisco, Calif., or OFFICE 365 provided by Microsoft Corporation.Examples of SaaS may also include data storage providers, e.g. DROPBOXprovided by Dropbox, Inc. of San Francisco, Calif., Microsoft SKYDRIVEprovided by Microsoft Corporation, Google Drive provided by Google Inc.,or Apple ICLOUD provided by Apple Inc. of Cupertino, Calif.

Clients 102 may access IaaS resources with one or more IaaS standards,including, e.g., Amazon Elastic Compute Cloud (EC2), Open CloudComputing Interface (OCCI), Cloud Infrastructure Management Interface(CIMI), or OpenStack standards. Some IaaS standards may allow clientsaccess to resources over HTTP, and may use Representational StateTransfer (REST) protocol or Simple Object Access Protocol (SOAP).Clients 102 may access PaaS resources with different PaaS interfaces.Some PaaS interfaces use HTTP packages, standard Java APIs, JavaMailAPI, Java Data Objects (JDO), Java Persistence API (JPA), Python APIs,web integration APIs for different programming languages including,e.g., Rack for Ruby, WSGI for Python, or PSGI for Perl, or other APIsthat may be built on REST, HTTP, XML, or other protocols. Clients 102may access SaaS resources through the use of web-based user interfaces,provided by a web browser (e.g. GOOGLE CHROME, Microsoft INTERNETEXPLORER, or Mozilla Firefox provided by Mozilla Foundation of MountainView, Calif.). Clients 102 may also access SaaS resources throughsmartphone or tablet applications, including ,e.g., Salesforce SalesCloud, or Google Drive app. Clients 102 may also access SaaS resourcesthrough the client operating system, including, e.g., Windows filesystem for DROPBOX.

In some embodiments, access to IaaS, PaaS, or SaaS resources may beauthenticated. For example, a server or authentication server mayauthenticate a user via security certificates, HTTPS, or API keys. APIkeys may include various encryption standards such as, e.g., AdvancedEncryption Standard (AES). Data resources may be sent over TransportLayer Security (TLS) or Secure Sockets Layer (SSL).

The client 102 and server 106 may be deployed as and/or executed on anytype and form of computing device, e.g. a computer, network device orappliance capable of communicating on any type and form of network andperforming the operations described herein. FIGS. 1C and 1D depict blockdiagrams of a computing device 100 useful for practicing an embodimentof the client 102 or a server 106. As shown in FIGS. 1C and 1D, eachcomputing device 100 includes a central processing unit 121, and a mainmemory unit 122. As shown in FIG. 1C, a computing device 100 may includea storage device 128, an installation device 116, a network interface118, an I/O controller 123, display devices 124 a-124 n, a keyboard 126and a pointing device 127, e.g. a mouse. The storage device 128 mayinclude, without limitation, an operating system, software, and asoftware of a tool for keyword research and analysis 120. As shown inFIG. 1D, each computing device 100 may also include additional optionalelements, e.g. a memory port 103, a bridge 170, one or more input/outputdevices 130 a-130 n (generally referred to using reference numeral 130),and a cache memory 140 in communication with the central processing unit121.

The central processing unit 121 is any logic circuitry that responds toand processes instructions fetched from the main memory unit 122. Inmany embodiments, the central processing unit 121 is provided by amicroprocessor unit, e.g.: those manufactured by Intel Corporation ofMountain View, Calif.; those manufactured by Motorola Corporation ofSchaumburg, Ill.; the ARM processor and TEGRA system on a chip (SoC)manufactured by Nvidia of Santa Clara, Calif.; the POWER7 processor,those manufactured by International Business Machines of White Plains,N.Y.; or those manufactured by Advanced Micro Devices of Sunnyvale,Calif. The computing device 100 may be based on any of these processors,or any other processor capable of operating as described herein. Thecentral processing unit 121 may utilize instruction level parallelism,thread level parallelism, different levels of cache, and multi-coreprocessors. A multi-core processor may include two or more processingunits on a single computing component. Examples of a multi-coreprocessors include the AMD PHENOM IIX2, INTEL CORE i5 and INTEL CORE i7.

Main memory unit 122 may include one or more memory chips capable ofstoring data and allowing any storage location to be directly accessedby the microprocessor 121. Main memory unit 122 may be volatile andfaster than storage 128 memory. Main memory units 122 may be Dynamicrandom access memory (DRAM) or any variants, including static randomaccess memory (SRAM), Burst SRAM or SynchBurst SRAM (BSRAM), Fast PageMode DRAM (FPM DRAM), Enhanced DRAM (EDRAM), Extended Data Output RAM(EDO RAM), Extended Data Output DRAM (EDO DRAM), Burst Extended DataOutput DRAM (BEDO DRAM), Single Data Rate Synchronous DRAM (SDR SDRAM),Double Data Rate SDRAM (DDR SDRAM), Direct Rambus DRAM (DRDRAM), orExtreme Data Rate DRAM (XDR DRAM). In some embodiments, the main memory122 or the storage 128 may be non-volatile; e.g., non-volatile readaccess memory (NVRAM), flash memory non-volatile static RAM (nvSRAM),Ferroelectric RAM (FeRAM), Magnetoresistive RAM (MRAM), Phase-changememory (PRAM), conductive-bridging RAM (CBRAM),Silicon-Oxide-Nitride-Oxide-Silicon (SONOS), Resistive RAM (RRAM),Racetrack, Nano-RAM (NRAM), or Millipede memory. The main memory 122 maybe based on any of the above described memory chips, or any otheravailable memory chips capable of operating as described herein. In theembodiment shown in FIG. 1C, the processor 121 communicates with mainmemory 122 via a system bus 150 (described in more detail below). FIG.1D depicts an embodiment of a computing device 100 in which theprocessor communicates directly with main memory 122 via a memory port103. For example, in FIG. 1D the main memory 122 may be DRDRAM.

FIG. 1D depicts an embodiment in which the main processor 121communicates directly with cache memory 140 via a secondary bus,sometimes referred to as a backside bus. In other embodiments, the mainprocessor 121 communicates with cache memory 140 using the system bus150. Cache memory 140 typically has a faster response time than mainmemory 122 and is typically provided by SRAM, BSRAM, or EDRAM. In theembodiment shown in FIG. 1D, the processor 121 communicates with variousI/O devices 130 via a local system bus 150. Various buses may be used toconnect the central processing unit 121 to any of the I/O devices 130,including a PCI bus, a PCI-X bus, or a PCI-Express bus, or a NuBus. Forembodiments in which the I/O device is a video display 124, theprocessor 121 may use an Advanced Graphics Port (AGP) to communicatewith the display 124 or the I/O controller 123 for the display 124. FIG.1D depicts an embodiment of a computer 100 in which the main processor121 communicates directly with I/O device 130 b or other processors 121′via HYPERTRANSPORT, RAPIDIO, or INFINIBAND communications technology.FIG. 1D also depicts an embodiment in which local busses and directcommunication are mixed: the processor 121 communicates with I/O device130 a using a local interconnect bus while communicating with I/O device130 b directly.

A wide variety of I/O devices 130 a-130 n may be present in thecomputing device 100. Input devices may include keyboards, mice,trackpads, trackballs, touchpads, touch mice, multi-touch touchpads andtouch mice, microphones, multi-array microphones, drawing tablets,cameras, single-lens reflex camera (SLR), digital SLR (DSLR), CMOSsensors, accelerometers, infrared optical sensors, pressure sensors,magnetometer sensors, angular rate sensors, depth sensors, proximitysensors, ambient light sensors, gyroscopic sensors, or other sensors.Output devices may include video displays, graphical displays, speakers,headphones, inkjet printers, laser printers, and 3D printers.

Devices 130 a-130 n may include a combination of multiple input oroutput devices, including, e.g., Microsoft KINECT, Nintendo Wiimote forthe WII, Nintendo WII U GAMEPAD, or Apple IPHONE. Some devices 130 a-130n allow gesture recognition inputs through combining some of the inputsand outputs. Some devices 130 a-130 n provides for facial recognitionwhich may be utilized as an input for different purposes includingauthentication and other commands. Some devices 130 a-130 n provides forvoice recognition and inputs, including, e.g., Microsoft KINECT, SIRIfor IPHONE by Apple, Google Now or Google Voice Search.

Additional devices 130 a-130 n have both input and output capabilities,including, e.g., haptic feedback devices, touchscreen displays, ormulti-touch displays. Touchscreen, multi-touch displays, touchpads,touch mice, or other touch sensing devices may use differenttechnologies to sense touch, including, e.g., capacitive, surfacecapacitive, projected capacitive touch (PCT), in-cell capacitive,resistive, infrared, waveguide, dispersive signal touch (DST), in-celloptical, surface acoustic wave (SAW), bending wave touch (BWT), orforce-based sensing technologies. Some multi-touch devices may allow twoor more contact points with the surface, allowing advanced functionalityincluding, e.g., pinch, spread, rotate, scroll, or other gestures. Sometouchscreen devices, including, e.g., Microsoft PIXELSENSE orMulti-Touch Collaboration Wall, may have larger surfaces, such as on atable-top or on a wall, and may also interact with other electronicdevices. Some I/O devices 130 a-130 n, display devices 124 a-124 n orgroup of devices may be augment reality devices. The I/O devices may becontrolled by an I/O controller 123 as shown in FIG. 1C. The I/Ocontroller may control one or more I/O devices, such as, e.g., akeyboard 126 and a pointing device 127, e.g., a mouse or optical pen.Furthermore, an I/O device may also provide storage and/or aninstallation medium 116 for the computing device 100. In still otherembodiments, the computing device 100 may provide USB connections (notshown) to receive handheld USB storage devices. In further embodiments,an I/O device 130 may be a bridge between the system bus 150 and anexternal communication bus, e.g. a USB bus, a SCSI bus, a FireWire bus,an Ethernet bus, a Gigabit Ethernet bus, a Fibre Channel bus, or aThunderbolt bus.

In some embodiments, display devices 124 a-124 n may be connected to I/Ocontroller 123. Display devices may include, e.g., liquid crystaldisplays (LCD), thin film transistor LCD (TFT-LCD), blue phase LCD,electronic papers (e-ink) displays, flexile displays, light emittingdiode displays (LED), digital light processing (DLP) displays, liquidcrystal on silicon (LCOS) displays, organic light-emitting diode (OLED)displays, active-matrix organic light-emitting diode (AMOLED) displays,liquid crystal laser displays, time-multiplexed optical shutter (TMOS)displays, or 3D displays. Examples of 3D displays may use, e.g.stereoscopy, polarization filters, active shutters, or autostereoscopy.Display devices 124 a-124 n may also be a head-mounted display (HMD). Insome embodiments, display devices 124 a-124 n or the corresponding I/Ocontrollers 123 may be controlled through or have hardware support forOPENGL or DIRECTX API or other graphics libraries.

In some embodiments, the computing device 100 may include or connect tomultiple display devices 124 a-124 n, which each may be of the same ordifferent type and/or form. As such, any of the I/O devices 130 a-130 nand/or the I/O controller 123 may include any type and/or form ofsuitable hardware, software, or combination of hardware and software tosupport, enable or provide for the connection and use of multipledisplay devices 124 a-124 n by the computing device 100. For example,the computing device 100 may include any type and/or form of videoadapter, video card, driver, and/or library to interface, communicate,connect or otherwise use the display devices 124 a-124 n. In oneembodiment, a video adapter may include multiple connectors to interfaceto multiple display devices 124 a-124 n. In other embodiments, thecomputing device 100 may include multiple video adapters, with eachvideo adapter connected to one or more of the display devices 124 a-124n. In some embodiments, any portion of the operating system of thecomputing device 100 may be configured for using multiple displays 124a-124 n. In other embodiments, one or more of the display devices 124a-124 n may be provided by one or more other computing devices 100 a or100 b connected to the computing device 100, via the network 104. Insome embodiments software may be designed and constructed to use anothercomputer's display device as a second display device 124 a for thecomputing device 100. For example, in one embodiment, an Apple iPad mayconnect to a computing device 100 and use the display of the device 100as an additional display screen that may be used as an extended desktop.One ordinarily skilled in the art will recognize and appreciate thevarious ways and embodiments that a computing device 100 may beconfigured to have multiple display devices 124 a-124 n.

Referring again to FIG. 1C, the computing device 100 may comprise astorage device 128 (e.g. one or more hard disk drives or redundantarrays of independent disks) for storing an operating system or otherrelated software, and for storing application software programs such asany program related to the software 120 for the experiment trackersystem. Examples of storage device 128 include, e.g., hard disk drive(HDD); optical drive including CD drive, DVD drive, or BLU-RAY drive;solid-state drive (SSD); USB flash drive; or any other device suitablefor storing data. Some storage devices may include multiple volatile andnon-volatile memories, including, e.g., solid state hybrid drives thatcombine hard disks with solid state cache. Some storage device 128 maybe non-volatile, mutable, or read-only. Some storage device 128 may beinternal and connect to the computing device 100 via a bus 150. Somestorage device 128 may be external and connect to the computing device100 via a I/O device 130 that provides an external bus. Some storagedevice 128 may connect to the computing device 100 via the networkinterface 118 over a network 104, including, e.g., the Remote Disk forMACBOOK AIR by Apple. Some client devices 100 may not require anon-volatile storage device 128 and may be thin clients or zero clients102. Some storage device 128 may also be used as a installation device116, and may be suitable for installing software and programs.Additionally, the operating system and the software can be run from abootable medium, for example, a bootable CD, e.g. KNOPPIX, a bootable CDfor GNU/Linux that is available as a GNU/Linux distribution fromknoppix.net.

Client device 100 may also install software or application from anapplication distribution platform. Examples of application distributionplatforms include the App Store for iOS provided by Apple, Inc., the MacApp Store provided by Apple, Inc., GOOGLE PLAY for Android OS providedby Google Inc., Chrome Webstore for CHROME OS provided by Google Inc.,and Amazon Appstore for Android OS and KINDLE FIRE provided byAmazon.com, Inc. An application distribution platform may facilitateinstallation of software on a client device 102. An applicationdistribution platform may include a repository of applications on aserver 106 or a cloud 108, which the clients 102 a-102 n may access overa network 104. An application distribution platform may includeapplication developed and provided by various developers. A user of aclient device 102 may select, purchase and/or download an applicationvia the application distribution platform.

Furthermore, the computing device 100 may include a network interface118 to interface to the network 104 through a variety of connectionsincluding, but not limited to, standard telephone lines LAN or WAN links(e.g., 802.11, T1, T3, Gigabit Ethernet, Infiniband), broadbandconnections (e.g., ISDN, Frame Relay, ATM, Gigabit Ethernet,Ethernet-over-SONET, ADSL, VDSL, BPON, GPON, fiber optical includingFiOS), wireless connections, or some combination of any or all of theabove. Connections can be established using a variety of communicationprotocols (e.g., TCP/IP, Ethernet, ARCNET, SONET, SDH, Fiber DistributedData Interface (FDDI), IEEE 802.11a/b/g/n/ac CDMA, GSM, WiMax and directasynchronous connections). In one embodiment, the computing device 100communicates with other computing devices 100′ via any type and/or formof gateway or tunneling protocol e.g. Secure Socket Layer (SSL) orTransport Layer Security (TLS), or the Citrix Gateway Protocolmanufactured by Citrix Systems, Inc. of Ft. Lauderdale, Fla. The networkinterface 118 may comprise a built-in network adapter, network interfacecard, PCMCIA network card, EXPRESSCARD network card, card bus networkadapter, wireless network adapter, USB network adapter, modem or anyother device suitable for interfacing the computing device 100 to anytype of network capable of communication and performing the operationsdescribed herein.

A computing device 100 of the sort depicted in FIGS. 1B and 1C mayoperate under the control of an operating system, which controlsscheduling of tasks and access to system resources. The computing device100 can be running any operating system such as any of the versions ofthe MICROSOFT WINDOWS operating systems, the different releases of theUnix and Linux operating systems, any version of the MAC OS forMacintosh computers, any embedded operating system, any real-timeoperating system, any open source operating system, any proprietaryoperating system, any operating systems for mobile computing devices, orany other operating system capable of running on the computing deviceand performing the operations described herein. Typical operatingsystems include, but are not limited to: WINDOWS 2000, WINDOWS Server2012, WINDOWS CE, WINDOWS Phone, WINDOWS XP, WINDOWS VISTA, and WINDOWS7, WINDOWS RT, and WINDOWS 8 all of which are manufactured by MicrosoftCorporation of Redmond, Wash.; MAC OS and iOS, manufactured by Apple,Inc. of Cupertino, Calif.; and Linux, a freely-available operatingsystem, e.g. Linux Mint distribution (“distro”) or Ubuntu, distributedby Canonical Ltd. of London, United Kingom; or Unix or other Unix-likederivative operating systems; and Android, designed by Google, ofMountain View, Calif., among others. Some operating systems, including,e.g., the CHROME OS by Google, may be used on zero clients or thinclients, including, e.g., CHROMEBOOKS.

The computer system 100 can be any workstation, telephone, desktopcomputer, laptop or notebook computer, netbook, ULTRABOOK, tablet,server, handheld computer, mobile telephone, smartphone or otherportable telecommunications device, media playing device, a gamingsystem, mobile computing device, or any other type and/or form ofcomputing, telecommunications or media device that is capable ofcommunication. The computer system 100 has sufficient processor powerand memory capacity to perform the operations described herein. In someembodiments, the computing device 100 may have different processors,operating systems, and input devices consistent with the device. TheSamsung GALAXY smartphones, e.g., operate under the control of Androidoperating system developed by Google, Inc. GALAXY smartphones receiveinput via a touch interface.

In some embodiments, the computing device 100 is a gaming system. Forexample, the computer system 100 may comprise a PLAYSTATION 3, orPERSONAL PLAYSTATION PORTABLE (PSP), or a PLAYSTATION VITA devicemanufactured by the Sony Corporation of Tokyo, Japan, a NINTENDO DS,NINTENDO 3DS, NINTENDO WII, or a NINTENDO WII U device manufactured byNintendo Co., Ltd., of Kyoto, Japan, an XBOX 360 device manufactured bythe Microsoft Corporation of Redmond, Wash.

In some embodiments, the computing device 100 is a digital audio playersuch as the Apple IPOD, IPOD Touch, and IPOD NANO lines of devices,manufactured by Apple Computer of Cupertino, Calif. Some digital audioplayers may have other functionality, including, e.g., a gaming systemor any functionality made available by an application from a digitalapplication distribution platform. For example, the IPOD Touch mayaccess the Apple App Store. In some embodiments, the computing device100 is a portable media player or digital audio player supporting fileformats including, but not limited to, MP3, WAV, M4A/AAC, WMA ProtectedAAC, AIFF, Audible audiobook, Apple Lossless audio file formats and.mov, .m4v, and .mp4 MPEG-4 (H.264/MPEG-4 AVC) video file formats.

In some embodiments, the computing device 100 is a tablet e.g. the IPADline of devices by Apple; GALAXY TAB family of devices by Samsung; orKINDLE FIRE, by Amazon.com, Inc. of Seattle, Wash. In other embodiments,the computing device 100 is a eBook reader, e.g. the KINDLE family ofdevices by Amazon.com, or NOOK family of devices by Barnes & Noble, Inc.of New York City, N.Y.

In some embodiments, the communications device 102 includes acombination of devices, e.g. a smartphone combined with a digital audioplayer or portable media player. For example, one of these embodimentsis a smartphone, e.g. the IPHONE family of smartphones manufactured byApple, Inc.; a Samsung GALAXY family of smartphones manufactured bySamsung, Inc; or a Motorola DROID family of smartphones. In yet anotherembodiment, the communications device 102 is a laptop or desktopcomputer equipped with a web browser and a microphone and speakersystem, e.g. a telephony headset. In these embodiments, thecommunications devices 102 are web-enabled and can receive and initiatephone calls. In some embodiments, a laptop or desktop computer is alsoequipped with a webcam or other video capture device that enables videochat and video call.

In some embodiments, the status of one or more machines 102, 106 in thenetwork 104 is monitored, generally as part of network management. Inone of these embodiments, the status of a machine may include anidentification of load information (e.g., the number of processes on themachine, CPU and memory utilization), of port information (e.g., thenumber of available communication ports and the port addresses), or ofsession status (e.g., the duration and type of processes, and whether aprocess is active or idle). In another of these embodiments, thisinformation may be identified by a plurality of metrics, and theplurality of metrics can be applied at least in part towards decisionsin load distribution, network traffic management, and network failurerecovery as well as any aspects of operations of the present solutiondescribed herein. Aspects of the operating environments and componentsdescribed above will become apparent in the context of the systems andmethods disclosed herein.

B. Keyword Research and Analysis Tool

Systems and methods of the present solution are directed to performingkeyword research and analysis to generate a list of topically-relatedand conceptually related keywords to a specific topic, for example, forpurposes of search engine optimization (SEO).

One aspect of the present disclosure is directed to systems and methodsfor performing a keyword search to generate a list of topically-relatedand conceptually related keywords to a specific topic to be marketed. Insome embodiments, a keyword search tool can perform semantic keywordresearch and semantic content analysis. In one aspect of the presentdisclosure, there is provided a system and method for performingsemantic keyword research (e.g., semantic SEO keyword research), whichmay quickly and efficiently generate a list of topically-relatedkeywords. Unlike the traditional keyword planner and research tools, atool may generate keywords that are conceptually-related to the topicthat a user is marketing. For example, for the term “dog food,” the toolcan generate topics such as “pet food” and “doggy treats.” The toolsuggestions may then be ranked by relevance score, a measure of topicalrelevance, saving a user from hours of manual keyword research effort.In some embodiments, traditional applications include keyword researchfor prospecting and new clients, identifying new keywords for existingclients, and identifying relevant head terms for semantic SEOapplications. In some embodiments, the systems and methods describedherein can be used alongside a long-tail keyword tool (e.g., GoogleKeyword Planner) to identify new long-tail opportunities. Search enginemarketing campaigns can be optimized with semantic machine learning.

In another aspect, the present disclosure is directed to system andmethods for performing semantic content analysis. In some embodiments,the keyword search tool can be used with a content analyzer to helpimprove blog posts, landing pages, whitepapers and other content byidentifying topical gaps. The content analyzer may use the keywordsearch tool data to notify a user of related keywords and topics thatare missing from the user's current content. For example, a blog post on“dog food” may be silent in regards to “pet food,” meaning “pet food” isnot found in the body of the post. The content analyzer can highlightthe gap. In some embodiments, the content analyzer highlights absolutegaps (e.g., whether a related keyword is totally missing from thewebsite). In some embodiments, the content analyzer may highlightrelative gaps (e.g., a related keyword that is mentioned on the website,but is not mentioned very frequently compared with the strength ofrelevance of the related keyword and the size of the website). Inadditional embodiments, the content analyzer may highlight topics thatare mentioned overly often at a user's website. Adding relevant keywordsto content improves the quality of content and, due to greater topicalauthority, increases organic traffic.

Accordingly, aspects of the present disclosure are directed to a keywordsearch tool that can generate a list of topically-related andconceptually related keywords to a specific topic to be marketed. Insome embodiments, the keyword search tool may be used to build keywordstrategy. For example, the keyword search tool can generate a targetkeyword list for organic searches or identify keyword candidates. Insome embodiments, the keyword search tool can be used to identifycontent needs. For example, the keyword search tool may crawl a domainsite and identify gaps in content on the domain site and suggesthigh-value topics that are not being sufficiently covered. In someembodiments, the keyword search tool can be used to create content. Forexample, primary keywords and topic suggestions can be used to createcontent. For long-form content, the keyword search tool can suggestadditional topics to cover.

Referring to FIG. 2A, an embodiment of a computer environment similar tothat illustrated in FIG. 1A is depicted. In addition to the elementspreviously described in connection with FIG. 1A, a server 106 includinga keyword research and analysis tool (“keyword tool”) 202 may also beconnected to the network 104. Accordingly, the keyword tool 202 may beconnected to the client(s) 102 a-102 n and the server(s) 106 a-106 n viathe network 104. In addition, the server(s) 106 a-106 n may each be acontent source 206A for providing content for research and analysis bythe keyword tool 202. In various embodiments, the content may includedata corresponding to websites, news articles, blog posts, keyword data,and/or any other suitable information for use with the keyword tool 202.

In the embodiment shown in FIG. 2A, the keyword tool 202 may include oneor more components or modules for performing various functionscorresponding to keyword research and analysis. In the embodiment ofFIG. 2A, the keyword tool 202 includes a topic tool 202 a, a contentaudit tool 202 b, a topic inventory tool 202 c, an ensemble algorithmtool 202 d, a crawler 202 e, and a database 202 f. Each of thesecomponents are described in further detail below. In other embodiments,the keyword tool 202 may include less or more components, depending onthe desired functions to be implemented by the keyword tool 202. Forexample, one embodiment of the keyword tool 202 may include the topictool 202 a and the content audit tool 202 b only.

C. Crawler

According to various embodiments, the crawler 202 e may be a tool forparsing and collecting relevant content over the web. In someembodiments, each of the other tools at the keyword tool 202, such as,but not limited to, the topic tool 202 a, the content audit tool 202 b,and the topic inventory tool 202 c, may be connected to the crawler 202e and may operate in conjunction with the crawler 202 e. In other words,the other tools may perform various operations on the content acquiredby the crawler 202 e.

In some embodiments, the crawler 202 e at the keyword tool 202 may useone or more keywords to search the web for a plurality of differentrelevant web content sources. For example, the crawler 202 e may acquirecontent by crawling and searching the web for the one or more keywordsand any content related to the keywords. In various embodiments, thecrawler 202 e may be configured to acquire content from a variety ofmedia, such as, but not limited to, websites, news articles, blog posts,keyword data (e.g., stored in the database 202 f of the keyword tool202), internet forums, social networking sites, advertising sites,and/or the like. The content to be acquired by the crawler 202 e may belocated at servers 106 a-106 n. The keyword tool 202 (e.g., the crawler202 e) may analyze the acquired content to build a collection of sources(e.g., articles, blogs, etc.) related to the input keywords. In someembodiments, the crawler 202 e may be configured to perform advancedsemantic processing, such as, but not limited to, stemming andlemmatization.

In some embodiments, the database 202 f may include data acquired fromone or more other sources. In some embodiments, the database 202 f mayinclude keyword data acquired or obtained from a search engine. In someembodiments, the database 202 f may include keyword data acquired orobtained from a web site. In some embodiments, the database 202 f mayinclude keyword data acquired or obtained from a social networking site.In some embodiments, the database 202 f may include keyword dataacquired or obtained from a third party that aggregates data andprovides data for use or purchase. Any of the systems and methodsdescribed herein, such any of any of the algorithms may use the data inthe database 202 f for any of the computations described herein, such asrelevance scoring.

According to some embodiments, the crawler 202 e may execute anysuitable search software for crawling a given website. In particularembodiments, the crawler 202 e may be configured to crawl the web byjumping from website to website. In other embodiments, the crawler 202 emay be configured to capture all pages on a single website, as opposedto jumping from website to website. In such embodiments where thecrawler 202 e is capable of capturing all pages on a single website, thecrawler 202 e may have particularly configured parameters, such as, butnot limited to, which directories to exclude, which special directoriesto include, directories and/or pages that the crawler 202 e shouldmerely visit but not index, and special customizations in terms of whatpattern of pages to include or exclude. In other words, the crawler 202e may be configured to exclude certain elements of a website, whileincluding certain other elements of the website.

In further embodiments, the crawler 202 e may be configured to executecrawls so as not to weigh down or hinder servers. In particularembodiments, the crawler 202 e may be configured to be limited in thenumber of webpages it fetches during a predetermined amount of time. Asa non-limiting example, the crawler 202 e may be configured to fetch nomore than five pages per second. In additional embodiments, the crawler202 e may be configured to call the header of a page (e.g., HTTP HEADrequest) before fetching the body of the page to retrieve informationabout the page to determine if the page is something that should bedownloaded or not. In yet further embodiments, the crawler 202 e may beconfigured to monitor a response time of a server. In other words, thecrawler 202 e may monitor how long it takes a server to send a responseto a request, and if the response time drops below a predeterminedthreshold (e.g., five seconds), the crawler 202 e may be configured tostand by for a predetermined amount of time (e.g., 20 seconds) beforeresuming crawling. In still further embodiments, after waiting for thepredetermined amount of time, the crawler 202 e may resume crawling at aslightly more cautious pace than previously exhibited. As a non-limitingexample, the crawler 202 e may crawl at a rate of four pages per second,as opposed to a previous rate of five pages per second. According tovarious embodiments, once the crawler 202 e has retrieved sourcesrelevant to the focus keywords, the crawler 202 e may be configured tointeract with any suitable indexing technology, such as, but not limitedto, an open source software (e.g., Solr) for indexing of the contentacquired by the crawler 202 e. In such embodiments, the indexingtechnology for use with the crawler 202 e may be configured to capturenecessary fields, clean data, and/or perform statistical analyses on theacquired content.

D. Ensemble of Algorithms

According to various embodiments, the ensemble of algorithms 202 d maybe a storage medium for storing a plurality of algorithms to be accessedby each of the other tools at the keyword tool 202, such as, but notlimited to, the topic tool 202 a, the content audit tool 202 b, and thetopic inventory tool 202 c, which all may be connected to the ensembleof algorithms 202 d and may operate in conjunction with the ensemble ofalgorithms 202 d. In other words, the other tools may access theensemble of algorithms 202 d and perform operations based on theinstructions stored at the ensemble of algorithms 202 d.

In some embodiments, the ensemble of algorithms takes as input a set orcorpus of pseudo-relevant documents, such as content acquired by thecrawler and provides a output a set of semantic-relevance-scoredkeyphrases or keywords. Accordingly, in various embodiments, ingenerating a set of semantically relevant topics scored or ranked byrelevance, a tool may be configured to receive data corresponding to acorpus of pseudo-relevant documents (e.g., acquired by the crawler 202e), and may be instructed by the ensemble of algorithms 202 d to cleanseand normalize the received documents and information. In someembodiments, the crawler 202 e may be configured to lemmatize thedocuments as well. In some embodiments, the ensemble of algorithms 202 dmay instruct all descriptive phrase n-grams in the corpus up to somelength to be identified. In some embodiments, the length of the n-gramsmay be predetermined by a user or administrator. Thresh-holding may thenbe performed using some function of frequency and available memory.Next, in some embodiments, phrases starting or ending with conjunctivesor other stop words may be discarded. In some embodiments, the methodincludes building term frequency and inverse document frequency matricesto act as a shared resource for subsequent phrases. The most frequentmorphological phrase forms may be re-allocated based upon a weight valueassigned to the phrase. In some embodiments, a lemmatization-equivalentof unigrams or phrases may be used to group. In further embodiments, themethod includes estimating the bayesian prior of phrases. This may bedone optionally as an adjunct to the term frequency matrix. In anembodiment, a linear combination of rarity-ranked bayesian priors of theconstituent unigrams of the phrase is used.

In some embodiments, the ensemble of algorithms 202 d includesinstructions for applying an ensemble of a plurality of differentclasses of algorithms such as four constituent classes of algorithm. Forexample, term-ranking functions (TRFs) may be performed based onanalysis of phrase distribution in corpus and the estimated phrasepriors. First, a core phrase TRF may be performed (e.g., Robertsonselection value and Kullback-Leibler distance). Second, a tail phraseTRF may be performed (e.g., Rocchio's weights, chi-square, and binaryindependence model). Third, a hyperdictionary graph traversal algorithmmay be performed (e.g. TextRank). Fourth, a semantic knowledgebases pathtraversal score based on terseness of semantic path and some curatedpredicate weights may be generated (e.g., using ConceptNet or Yagoknowledgebases). Each constituent class of algorithm may itself be anensemble of algorithms under that class, such that the ensemble ofalgorithms comprises a plurality of ensembles.

In some embodiments, the ensemble method may be a weighted combinationof the sets of scored phrases from each of the above constituents (e.g.a linear combination, or a linear combination of some normalization ofthe constituents). The weights may be tuned by how tail-oriented thedesired output is (e.g. where tail TRFs' output are weighed more heavilyif more tail-like concepts are desired). In other embodiments, theweights may be tuned by how much n-grams of various n are desired (e.g.by multiplication by a function on desired lengths and phrase lengthunder consideration). In some embodiments, unigrams with high bayesianpriors are then reduced in the distribution's weights by some functionof the unigram's prior. As such, the output of this method may be a setof semantic-relevance-scored phrases.

Although generally at times the word keyword may be used to describedone or more keywords to be used by the systems and methods, keyphrasesmay be used interchangeably with keywords. In some embodiments, akeyphrase of one phrase is a keyword. In some embodiments, a keyword ina single phrase keyphrase. As such, in some embodiments, a plurality ofkeywords is a keyphrase.

E. Topic Tool

Referring to FIG. 2B, illustrated is an embodiment of a screen shot of atopic tool page. In various embodiments, the screen shot may represent akeyword user interface (UI) 210 to be presented to a user at the clientdevice 102. After a user populates entries into the keyword UI 210 andsubmits the entries, the topic tool 202 a may receive the enteredinformation via the network 104 to perform one or more operations withrespect to the user entries. The functions of the topic tool 202 a arediscussed further below.

According to the embodiment shown in FIG. 2B, the keyword UI 210 mayinclude an input portion including a keyword field 211 for receiving andentering one or more user-entered keywords 212. In addition, the keywordUI 210 may also include an output portion including a topic table 213for displaying topic results of the one or more operations performedwith respect to the one or more keywords 212. The topic table 213 mayinclude one or more column headers or subjects 213 a-213 n, each columnheader indicating a subject characteristic, attribute, or statisticassociated with the topic results, for example, but not limited to, thename of the topic(s), a relevance score of the topic to the one or moreentered keywords, a volume value of the topic, and/or the like. Each ofthe columns 213 a-213 nof the topic table 213 may include one or morecorresponding resulting values 214 a-214 n, 215 a-215 n, and 216 a-216 nindicating results of the one or more operations performed by the topictool 202 a and corresponding to the one or more column headers 213 a-213n.

In other embodiments, the keyword UI 210 may include any suitablevariation of the layout illustrated in FIG. 2B, or even differentlayouts, for example, but not limited to, the keyword field 211 and thetopic table 213 being in opposite locations at the keyword UI 210. Inalternative embodiments, the user input interface may take on othersuitable formats, for example, but not limited to, a list for userselection and/or the like. In some embodiments, the keyword field 211may auto-populate the one or more keywords 212 as a user types into thekeyword field 211. In further embodiments, a list of keywords may bestored in the database 202 f, for example, to auto-populate the one ormore keywords. In additional embodiments, the results of the one or moreoperations may be displayed in other suitable formats, for example, butnot limited to, a chart, a graph, etc., or combinations thereof.

After entering the one or more keywords 212, and submitting the entries,the topic tool 202 a may identify topics that are relevant to theentered one or more keywords 212. In one embodiment, the topic tool 202a identifies and generates a set of semantically relevant topics to theone or more keywords 212. In one embodiment, the results of the one ormore operations performed by the topic tool 202 a are displayed at atopic table 213 at the first column 213 a. The column 213 a may list theidentified one or more topics that are related to the one or moreuser-entered keywords 212 as topic results 214 a-214 n. In variousembodiments, the crawler 202 e searches the web to acquire the topics214 a-214 n related to the keywords 212. The method and operation ofidentifying and generating the topic list 214 a-214 n, performed by thekeyword tool 202, are described in further detail below in connectionwith FIG. 2C.

In further embodiments, the topic tool 202 a may perform additionalanalyses with respect to the identified topic results 214 a-214 n, andgenerate results of the additional analyses for viewing at the topictable 213. In the embodiment shown in FIG. 2B, an additional analysismay include a relevance analysis for each topic result 214 a-214 n.According to the present embodiment, the results of the relevanceanalysis may be displayed under column 213 b as relevance scores 215a-215 n associated with the corresponding topic results 214 a-214 n.According to various embodiments, the relevance scores 215 a-215 n are ameasure of topical relevance and indicate a strength of relevancebetween the one or more keywords 212 and the corresponding topic result214 a-214 n. According to the present embodiment, the relevance scores215 a-215 n take the form of percentages (e.g., out of 100%) to indicatethe strength of the corresponding topic 214 a-214 n (e.g., the higherthe percentage, the more relevant the corresponding topic 214 a-214 nis). In other embodiments, the relevance scores 214 a-214 n may beembodied in any suitable form to indicate the strength of relevance of atopic 214 a-214 n to a user-entered keyword 212, such as, but notlimited to, color representation (e.g., where a shade or type of colorindicates topic relevance strength), tally representation (e.g., where anumber of displayed stars indicates relevance strength), meterrepresentation, and/or the like. In the present embodiment, the topics214 a-214 n are sequenced or ranked by their corresponding relevancescores 215 a-215 n in descending order. In other embodiments, the topics214 a-214 n may be ranked in any suitable sequence, such as, but notlimited to, according to volume values of the topics 214 a-214 n,according to alphabetical order, or according to any other suitablecharacteristic of the topics. In some embodiments, the topics 214 a-214n may be actively ranked according to a user preference.

Similarly, a further additional analysis may include a volume analysisfor each topic result 214 a-214 n. In some embodiments, the results ofthe volume analysis may be displayed under column 213 c as volume valuesor scores 216 a-216 n associated with the corresponding topic results214 a-214 n. According to some embodiments, the volume values 215 a-215n are an indication of how often the corresponding topic result 214a-214 n have been used in various forms of media, such as, but notlimited to, social networking websites, marketing tools and databases,websites, news articles, blog posts, other forms of internet relatedadvertising, and/or the like. According to the present embodiment, thevolume values 216 a-216 n take the form of a number of hits or a measureof frequency to indicate the volume of the corresponding topic 214 a-214n. In further embodiments, the volume score 216 a-216 n indicates afrequency in terms of individual instances, number of webpage hits,frequency in title hits, a number of pages where the corresponding topicoccurs, and/or the like. In other embodiments, the volume values 216a-216 n may be embodied in any suitable form to indicate the volume orrelative volume of a topic 214 a-214 n, such as, but not limited to,color representation, tally representation, meter representation, and/orthe like.

By way of example, according to the embodiment shown in FIG. 2B, a userof keyword UI 210 may enter into the field 211 “dog food” as a keyword,and submit the keyword 212 for analysis by the topic tool 202 a.Accordingly, the topic tool 202 a may output a list in the form of topictable 213 of topics 214 a-214 n related to the keyword “dog food,” suchas “pet food,” “pet foods,” “homemade dog food,” etc. Furthermore, thetopic tool 202 a may rank these topics according to their relevance tothe keyword “dog food,” as indicated by the relevance scores 215 a-215n. In this embodiment, the topic “pet food” corresponds to a relevancescore of 65% to the user-entered keyword “dog food.” In addition, thetopic “pet food” corresponds to a volume value of 5,400. As such, a usermay read and interpret the information embodied in topic table 213 andcan identify further keywords or topics to include in their content toimprove the quality of the content and to increase organic traffic tothe website by using the topic table 213 for SEO. The listed topics 214a-214 n may be included to enhance traffic to any webpage, as desired,such as, but not limited to, blog posts, websites, forum postings,articles, and/or the like.

Referring to FIG. 2C, a block diagram of a method 220 for performingkeyword research and analysis of a website is depicted. The method mayresult in a list of suggested keywords to be added to the user's websitefor SEO. The method and algorithms described in connection with FIG. 2Cmay also be utilized in connection with the embodiments described inconnection with FIG. 2B, where applicable. In the present embodiment,the method 220 may include a user input block 222, an acquire contentblock 224, a build knowledge graph block 226, and a serve suggestionsblock 228.

According to various embodiments, the block 222 may be performed at auser interface 221 at a client 102. The UI 221 may include a focuskeyword field 225 (similar to the keyword field 211) for a user topopulate with one or more focus keywords 225 a (similar to the one ormore keywords 212). The UI 221 may further include a website field 223for a user to populate with a website address 223 a that the user wishesto perform the keyword analysis on. In some embodiments, the focuskeywords 225 a may be words or topics a user or administrator uses orplans to use at the website address 223 a. In various embodiments, thewebsite address 223 a is a Uniform Resource Identifier (URI), a UniformResource Locator (URL), a Uniform Resource Name (URN), or any othersuitable protocol for identifying a website address. The UI 221 mayfurther include a crawler status field 227 for identifying a status ofthe crawler 202 e. In some embodiments, the crawler status field 227 mayindicate whether the crawler 202 e is running or not, whether thecrawler 202 e has completed its crawls, whether the crawler 202 e isinactive or disabled, and/or the like. During block 222, a user mayprovide the website address 223 a for performing content auditing on andthe one or more focus keywords 225 a to be researched and analyzed.After the fields of the UI 221 are populated and submitted by a user,the entered information may be transmitted to the keyword research andanalysis tool 202 via the network 104, at which one or more operationsmay be performed corresponding to the focus keywords 225 a and thewebsite address 223 a, as described below.

According to various embodiments, at block 224, the submitted focuskeywords 225 a are received by the crawler 202 e. The crawler 202 e maythen acquire content from various web sources to build a corpus ofcollected content that is relevant to the focus keywords 225 a. Furtherdetails regarding the operation of the crawler 202 e are describedabove.

According to various embodiments, at block 226, after collecting andindexing the relevant sources from the web (e.g., via the crawler 202e), a knowledge graph 229 may be generated by applying, by the keywordtool 202 (e.g., by the topic tool 202 a), the ensemble of algorithms 202d to the content acquired by the crawler 202 e to identify and organizea set of semantically relevant topics from the acquired content, asillustrated in the knowledge graph 229. In some embodiments, the step ofgenerating a knowledge graph 229 may be optional, and the topic tool 202a may directly output the related topic results to the user based on theresults of application of the ensemble of algorithms to the acquiredcontent, and skip the building of any knowledge graph.

In various embodiments, the knowledge graph 229 is a knowledge base thatorganizes information gathered from the various web sources to providestructured and detailed information regarding each of the user-enteredone or more focus keywords 225 a. In some embodiments, after the topictool 202 e applies the ensemble of algorithms 202 d, as described above,to the content acquired by the crawler 202 e to generate thesemantically relevant topics scored by relevance, the knowledge graph229 may be built based on the semantically relevant topics scored byrelevance. In other words, the knowledge graph 229 may be arepresentation of the semantically relevant topics that are ranked byrelevance. In some embodiments, the knowledge graph 229 includes degreesof conceptual relevance to the initially entered focus keywords 223 a,which serve as the seed terms from which the knowledge graph is built.For example, as illustrated in the embodiment of FIG. 2C, one of thefocus keywords 225 a is “java monitoring,” which is located at a firstlevel (or seed level) 229 a of the knowledge graph 229. After applyingthe above described algorithm to the content previously acquired by thecrawler 202 e, the topic tool 202 a may be configured to populate lowerlevels of the knowledge graph branching out from the seed level 229 a.In the present embodiment, the topic “java profilers” and “SaaSsolutions” were identified as having relatively high relevance, based onthe acquired content and as determined using the above-describedalgorithms, to the focus keyword “java monitoring.” Accordingly, thetopic “java profilers” and “SaaS solutions” are placed closest to theseed term “java monitoring” on the knowledge graph at the second level229 b of the knowledge graph. Similarly, the topic “best java profiler”was determined to be less relevant than the terms at level two 229 b,but still relevant to the focus keyword “java monitoring,” and so isplaced at a third level 229 c of the knowledge graph 229, and so on.

Referring to block 228, based on the knowledge graph 229 built in block226, topic suggestions may be served to the user (e.g., by the topictool 202 a) and displayed at the UI via suggestion table 230. In otherembodiments, the topic suggestions are served based directly on theresults of the topic tool's application of the ensemble of algorithms tothe acquired content, rather than based on a knowledge graph. In someembodiments, the knowledge graph 229 may be compared with the contentidentified from the initially entered web address 223 a. Accordingly,keyword performance data and high-priority gaps in keywords at the webaddress 223 a may be identified and highlighted.

The suggestion table 230 may be for displaying topic results identifiedby the knowledge graph 229. The suggestion table 230 may include one ormore column headers or subjects 230 a-230 d, each column headerindicating a subject characteristic, attribute, or statistic associatedwith the topic results, for example, but not limited to, the name of thetopic (230 a), a relevance score of the topic (230 b), a frequency ofthe topic (230 c), an attractiveness of the topic (230 d), and/or thelike. Each of the columns 230 a-230 d of the suggestion table 230 mayinclude one or more corresponding resulting values indicating results ofthat particular column 230 a-230 d. The name of the topic column 230 amay include a plurality of topics identified by the knowledge graph 229as being relevant to the focus keywords 225 a. The values at thefrequency column 230 b may indicate the number of instancescorresponding topics occur at the web address 223 a. The frequencycolumn 230 b may be similar to the volume column 213 c. The values ofthe relevance column 230 c may indicate a degree of relevance acorresponding topic is to the focus keywords 225 a. The relevance column230 c may be similar to the relevance column 213 b. The values of theattractiveness column 230 d may indicate a strength of the suggestionaccording to a topic, and may be based on the frequency and relevancevalues of a given topic. The attractiveness value may be a combinationof the relevance score in combination with one or more keyword metrics.In some embodiments, the attractiveness score is determined by applyingcertain weights on each of the frequency value and the relevance value.As an example, the higher the relevance score and the lower thefrequency score corresponding to a topic are, the higher theattractiveness score for that topic may be. In further embodiments, thesuggested topics may be provided to the user in a list format and rankedby at least one of the frequency score, the relevance score, and theattractiveness score. In other embodiments, the suggested topics may beranked in other orders depending on a preference of the user oradministrator.

In some embodiments, a competitor's website may be entered as the webaddress 223 a so that a user may analyze competitor content. In suchembodiments, the topic tool 202 a may crawl one or more competitorsites, analyze their mentions, and compare the competitor content to thecontent of a user's website. This competitor analysis feature may beutilized by the other tools of the keyword tool 202 as well (e.g.,content audit tool 202 b and topic inventory tool 202 c)

Accordingly, in some embodiments, the suggestion table 230 may highlightthe absolute gaps between the listed related topics and the website atweb address 223 a (e.g., whether a related topic is totally missing fromthe website of web address 223 a, which may be indicated by acorresponding frequency or volume score of 0). In some embodiments, thecontent analyzer may highlight relative gaps between the listed relatedtopics and the website at web address 223 a (e.g., a related keywordthat is mentioned on the website, but is not mentioned frequently). Insome embodiments, relative gaps may be determined based, for example,the strength of relevance of the related keyword and the size of thewebsite (e.g., a highly relevant topic that is not mentioned too oftenat a large website may qualify as a relative gap).

In some embodiments, the suggestion table 230 may also highlight relatedtopics that may be mentioned very often. For example, if a topic has avery high number of mentions (e.g. as indicated by the topics frequencyand/or volume score), a user may be prompted to focus efforts on othertopics rather than add content concerning the topic that is frequentlymentioned. For example, if a user sees a high number of mentions,titles, and pages containing a topic and related topics, the topic mayalready have coverage and the collection of content that is a) targetedfor the topic, and b) contains the topic, may be examined further sothat the performance of those pages may be evaluated. If it isdetermined that the user is a top authority on the topic, the user maydecide that there are other priority topics in which to invest content.However, for other customers, this scenario may lead to using thevarious tools in the keyword tool 202 to improve content that hasmentions of the highly occurring target topic, such as, but not limitedto, content audit to evaluate the pages containing the topic,competitive analysis to determine other sites' mentions andarchitecture, and other strategic planning initiatives that takeadvantage of the existing coverage or more beneficially position theexisting coverage. For example, if a user sees that they have a veryhigh number of mentions of a topic, but no mentions in any titles, theuser may consider planning initiatives that look at whether there shouldbe content created or updated to refine targeting for the pages andinclude the topic in titles. As another example, if the customer seesthat they have a very high number of mentions of a topic, mentions intitles and a lot of pages containing the topic, but they receive notraffic and have no rankings on that topic, that may be an indicationthat there is more investigation into that topic required and that theremay be other needs and problems. For example, a problem may be that thecontent where the mentions occur is not comprehensive enough, is lowquality, or competition is very high and more work is needed toestablish rankings for this topic and related keywords with respect tothe competition. As yet another example, if the user sees that they havea very high number of mentions of a topic, mentions in title and manypages containing the topic, but they receive no traffic and have manyrankings on that topic and related keywords/topics, that may signal thatthere may be much opportunity for them to add pages for additionalkeyword variants and related topics with the confidence that they willperform well quickly after publication of the added topic. Accordingly,a user may take advantage of the existing coverage to direct or guideadditional content development or planning.

Referring to FIG. 2D, another embodiment of a keyword user interface 231is illustrated. The keyword UI 231 may be similar to keyword UI 210, butmay include expanded features related to ranking of relevance forsuggested topics. According to the embodiment shown in FIG. 2D, thekeyword UI 231 may include an input portion including a keyword field232 for receiving and entering one or more user-entered keywords 232 aand 232 b. In addition, the keyword UI 232 may also include an outputportion including a topic table 235 for displaying topic results withrespect to the one or more keywords 232 a and 232 b. The topic table 235may include one or more column headers or subjects 235 a-235 g, eachcolumn header indicating a subject characteristic, attribute, orstatistic associated with the topic results, for example, but notlimited to, the name of the topic (235 a), a relevance score of thetopic (235 b) to the one or more entered keywords 232 a and 232 b, avolume value of the topic (235 c), a competition score (235 d), a costper click (CPC) value (235 e), an attractiveness score (235 f), arefining option (235 g), and/or the like. Each of the columns 235 a-235g of the topic table 235 may include one or more corresponding resultingvalues indicating results of the one or more operations performed by thetopic tool 202 a. In some embodiments, the data of the topic table 235is obtained by implementing the ensemble of algorithms 202 d describedabove as implemented by the topic tool 202 a.

In some embodiments, the topic column 235 a, the relevance column 235 b,the volume column 235 c, and the attractiveness column 235 f may besimilar to the topic column 213 a, the relevance column 213 b, thevolume column 213 c, and the attractiveness column 235 f, respectively.In some embodiments, the respective attractiveness values of the column235 f may be determined based on one or more of the corresponding valuesof one or more of the columns 235 a-235 g. In some embodiments, thevalues under the competition column 235 d may indicate a competition orcompetitive value for the keyword. In some embodiments, the competitionvalue or score indicates a number of advertisers bidding on each keywordrelative to other or all keywords across one or more search engines orpaid advertising sources. In some embodiments, the competition value orscore indicates a relative demand for the keyword among other keywords.In some embodiments, the competition score may be a numeric value in arange. In some embodiments, the competition score may be a stringindicating a level of completion to use the keyword. In the“Competition” column, you can see whether the competition for a keywordidea is low, medium, or high,” In some embodiments, the refine column235 g may allow a user to adjust a corresponding topic, such as, but notlimited to, deleting the row of the corresponding topic, adding ordeleting statistics or information of the corresponding topic (e.g.,deleting the competition score for the corresponding topic), and thelike. In particular embodiments, the topics under the topic column 235 amay be ranked by the relevance score. In other embodiments, the topicsmay be ranked by any of the various scores assigned to them.

The CPC or cost-per-click value or score may indicate the amount one mayearn each time a user clicks on an ad related to the keyword. The CPCvalue may be a historical or average amount to indicate how much thatkeyword has earned via paid advertising. The CPC may be determined overany time period from any one or more sources. The CPC may be an average,mean or other statistical measure. In some embodiments, the CPC valuemay be an indicator of predicted or future value of an amount thekeyword should earn via advertising.

In further embodiments, the UI 231 may include an add group keywordsinterface 233. The add group keywords interface 233 may aid a user byadding multiple related keywords to the keyword field 232, for example,by providing keyword suggestions, by parsing the keyword field 232 toautomatically add related keywords, by providing general keywordsubjects that will populate the keyword field 232 with more narrowkeywords under the keyword subject, and the like. In yet furtherembodiments, the UI 231 may include a find keywords interface 234 foraiding a user in identifying and selecting useful keywords. In suchembodiments, the find keywords interface 234 may provide the user with alist of subject areas containing useful keywords, may suggest keywordsbased on the entered keywords 232 a and 232 b, and the like.

Referring to FIG. 2E, another embodiment of a topic table 240 ranked byrelevance is depicted. According to the present embodiment, topic table240 includes a topic column 240 a and a relevance column 240 b havingrelevance values associated with the topics under the topic column 240a. In some embodiments, the topic column 240 a and the relevance column240 b may be similar to the topic column 213 a and the relevance column213 b, respectively. Furthermore, the topic table 240 may be generatedby utilizing the ensemble of algorithms 202 d by the topic tool 202 a.The topic table 240 displays a generated list of recommended topics withonly a relevance score displayed for each topic. The topics may beorganized according to the relevance score, from highest score to lowestscore.

F. Content Audit Tool

Referring to FIG. 2F, an embodiment of a content audit user interface250 corresponding to the content audit tool 202 b is depicted. Accordingto the present embodiment, the content audit UI 250 includes a domain orsubdomain input field 251 for entering a web address 251 a. The webaddress 251 a may correspond to a website or webpage for which a userwishes to perform the content audit operation. In addition, the UI 250includes a crawler status field 252, which may be similar to the crawlerstatus field 227 and may further identify a number of pages crawled bythe crawler 202 e after completion of the crawling function. The UI 250may further include a focus keyword field 253 for entering a focuskeyword 253 a. In some embodiments, the focus keyword field 253 may besimilar to the keyword field 211, and may further include one or morefilters 253 b. In particular embodiments, the filters 253 b may serve toexclude or include particular categories of terms from the results ofthe content audit (e.g., “People's Names”).

After entering and submitting the relevant input data, the input datamay be received by the content audit tool 202 b for performing thecontent audit functions, that is, to analyze the pages corresponding tothe website address 251 a for identifying all the pages that arerelevant to the entered focus keyword 253 a and for calculating contentperformance metrics for each of the retrieved pages. In particularembodiments, the web address 251 a may be crawled by the crawler 202 eto acquire content of the web address 251 a. In further embodiments, thecontent audit tool 202 b may be configured to identify all of the pagesof the web address 251 a that are relevant to the entered focus keyword253 a, and configured to generate content performance metrics for eachof the relevant pages. In some embodiments, the content performancemetrics include a content score for each retrieved page, the contentscore for indicating how well a particular page covers the topic denotedby the focus keyword 253 a. In one embodiment, the content score may becalculated by generating a set of related topics (e.g., by the contentaudit tool 202 b in conjunction with the ensemble of algorithms 202 d),and count the number of mentions the topics have on a given page. Insuch an embodiment, if a relevant topic is mentioned once on a givenpage, a first predetermined amount of points are attributed to that page(e.g., one point), and if a relevant topic is mentioned two or moretimes at the page, a second predetermined number of points may beattributed to the page (e.g., two points). In particular embodiments,the content audit tool 202 b may provide 50 topic suggestions perkeyword input, in such embodiments, a maximum score that a page mayreceive is therefore 100 (e.g., if each of the topics was mentionedtwice at the page). In other embodiments, any suitable method ofcalculating a content score may be implemented, such as, but not limitedto, a simple count of the number of mentions of the topic keywords at apage, a weighted count of the mentions (e.g., more weight may be to atopic mentioned in the title of the page), and/or the like.

In some embodiments, the UI 250 further includes a content audit table254 including a plurality of columns, such as, but not limited to, apage title column 254 a, a mentions column 254 b, a content score column254 c, and an improve content option 254 d. After analyzing the websiteaddress 251 a for mentions of related topics to the focus keyword 253 a,the resulting data may be organized and displayed in the audit table 254so that a user may review the results. For example, each of the titlesof each of the pages mentioning a relevant topic may be listed undercolumn 254 a, and the corresponding number of mentions of the relevanttopics may be listed under column 254 b. In addition, the content scoreof each of the listed pages may be listed under column 254 c. In someembodiments the content score may be a simple number of pointsattributed to the corresponding page. In other embodiments, the contentscore may be illustrated in any other suitable way, such as, but notlimited to, a tally, a color, and the like. In the present embodiment,the number corresponding to the content score may also be highlightedwith different types or different shades of color to represent thestrength of the content score. In some embodiments, each of the listedpages may correspond to an improve content option listed under column254 d. In particular embodiments, the improve content option, onceactuated by a user, may provide suggestions for a user to modify thecorresponding page to improve its content score. For example, thecontent audit tool 202 b may suggest keyword topics, for incorporationinto the page, that are relevant to the focus keyword 253 a.Accordingly, using the content audit tool 202 b, a user may, all atonce, identify pages on a website that are highly relevant to a focuskeyword, or pages that require modification to increase their relevanceto the focus keyword.

Referring to FIG. 2G, an embodiment of a content audit analyzer userinterface 260 corresponding to the content audit tool 202 b is depicted.According to the present embodiment, the content audit analyzer UI 260is similar to the content audit UI 250, with some differences which willbe discussed below. In some embodiments, instead of requesting a webaddress, the UI 260 includes a content input field 261 for a user todirectly enter content to be analyzed by the content audit tool 202 b.In some embodiments, the content to be entered are excerpts or fullcontent to be posted on a webpage, or content that already exists on awebpage. The UI 260 may further include a focus keyword field 262 forentering a focus keyword 262 a. In some embodiments, the focus keywordfield 262 may be similar to the keyword field 211, and may furtherinclude one or more filters 262 b. Accordingly, whereas the embodimentillustrated in FIG. 2F is configured to return more robust resultscorresponding to multiple pages of a web address, the embodiment of FIG.2G may be focused on analysis of particular content entered into the UI260. Accordingly, once a user enters the content to be analyzed in field261 and the focus keyword 262 a. the content audit tool 202 b mayanalyze the content in a similar manner as that described above inconnection with FIG. 2F to determine a content score of the content infield 261.

As such, in some embodiments, the results of the analysis performed bythe content audit tool 202 b may be organized and displayed at topictable 264 including a related topics column 264 a, a count column 264 b,and a relevance score column 264 c. In the present embodiment, aplurality of topics related to the focus keyword 262 a are listed undercolumn 264 a. Under column 264 b, a number of occurrences correspondingto a given related topic is associated with each listed topic, and,under column 264 c, a corresponding relevance score is also listed. Infurther embodiments, the UI 260 may display the content score of thecontent (e.g., based on the overall count score of the content and thecorresponding relevance score of the topics mentioned in the content.According to the present embodiment, a user may quickly determine howrelated content is to a desired focus keyword, and may identify topicsthat may be added to the content for increasing the relevance of thecontent to the focus keyword, for example, to increase organic trafficto the content (e.g., SEO).

G. Topic Inventory Tool

Referring to FIG. 2H, an embodiment of a topic inventory user interface270 corresponding to the topic inventory tool 202 c is depicted.According to the present embodiment, the topic inventory UI 270 includesa domain or subdomain input field 271 for entering a web address 271 a.The web address 271 a may correspond to a website or webpage for which auser wishes to perform the topic inventory operation. In addition, theUI 270 includes a crawler status field 272, which may be similar to thecrawler status field 227 and may further identify a number of pagescrawled by the crawler 202 e after completion of the crawling function.The UI 270 may further include a focus keyword field 273 for entering afocus keyword 273 a. In some embodiments, the focus keyword field 273may be similar to the keyword field 211.

According to some embodiments, the topic inventory tool 202 c may beconfigured to identify and analyze the topics in the content of thewebsite at address 271 a. In the embodiment illustrated in FIG. 2H, thetopic inventory tool 202 c may be configured to perform a targetedanalysis with respect to the entered focus keyword 273 a and the contentof the entered web address 271 a. In such embodiments, the topicinventory tool 202 c may limit its analysis to the pages correspondingto the web address 271 a that mention the focus keyword 273 a at leastonce. Accordingly, the topic inventory tool 202 c may perform topicmodeling in accordance with the ensemble of algorithms 202 d, and runthe topic modeling to the filtered list of pages and return relevancescores and other corresponding statistics.

As such, in some embodiments, the results of the analysis performed bythe topic inventory tool 202 c may be organized and displayed at topictable 274 including a related topics column 274 a, a relevance scorecolumn 264 b, a mentions column 274 c, a title column 274 d, a bodycolumn 274 e, and a pages column 274 f. In the present embodiment, aplurality of topics related to the focus keyword 273 a are listed undercolumn 274 a. Under column 274 b, a relevance score corresponding to anassociated topic is listed, and under column 274 c, a number of mentionscorresponding to the corresponding related topic is listed. In someembodiments, the values under title column 274 d may indicate the numberof mentions of the corresponding topic in titles of the pages of thewebsite at web address 271 a. Similarly, the values under body column274 e may indicate the number of mentions of the corresponding topic inthe bodies of the pages of the website at web address 271 a.Furthermore, the values under pages column 274 f may indicate the numberof page of the website at web address 271 a the corresponding topic ismentioned. In further embodiments, other statistics may be included ascolumns of the topic table 274, such as, but not limited to, thepopularity of the corresponding topic and the like. According to thepresent embodiment, a user may quickly be able to identify relatedtopics to a desired focus keyword, and may identify how prevalent eachof the related topics are at a website, for example, to identify topicsthat should be expanded on to increase organic traffic to the content(e.g., SEO).

Referring to FIG. 2I, another embodiment of a topic inventory userinterface 280 corresponding to the topic inventory tool 202 c isdepicted. According to the present embodiment, the topic inventory UI280 is similar to the topic inventory UI 270. However, in the presentembodiment, a focus keyword field 283 is left blank and may be anoptional entry. Accordingly, in the present embodiment, instead of atargeted analysis based on a user-entered focus keyword, the topicinventory tool 202 c may perform an automatic or unsupervised analysisof all the pages of the website at the entered web address 281 a.According to such embodiments, the topic inventory tool 202 c mayidentify which topics are most relevant across all of the website'scontent, and may returns a list of relevant topics, including relevancescores that measure the degree of relevance, and other statistics, suchas, but not limited to, page count frequencies. In some embodiments,such an analysis may be performed by the topic inventory tool 202 cwhich may utilize the crawler 202 e to crawl the pages of the websiteand may receive the acquired content from the crawler, and may utilizethe ensemble of algorithms 202 d for topic modeling to identify and rankby relevance the various topics of the website. In some embodiments, thetopic inventory tool 202 c may perform the topic modeling of thewebsite. In other embodiments, the topic tool 202 a may perform thetopic modeling.

As such, in some embodiments, the results of the analysis performed bythe topic inventory tool 202 c may be organized and displayed at topictable 284, which may be similar to topic table 274. In some embodiments,the topic table 284 includes a related topics column 284 a, a relevancescore column 284 b, a volume score column 284 c, a mentions column 284d, a title column 284 e, a body column 284 f, and a pages column 284 g.In the present embodiment, a plurality of topics extracted from thewebsite at web address 281 a are listed under column 284 a. Furthermore,in columns 284 b-284 g, statistics and characteristics corresponding tothe topics are listed. In some embodiments, the topic table 284 mayinclude a highlight threshold field 285. The highlight threshold field285 may allow a user to highlight certain topics that occur below auser-entered threshold (e.g., any topic that is mentioned less than 34times). Accordingly, the topic inventory UI 280 can immediately alert auser to those topics that may require attention. According to thepresent embodiment, a user may quickly be able to identify prominenttopics of a given website, and may discern how prevalent each of thetopics are at the website, for example, to identify topics that shouldbe expanded on to increase organic traffic to the website (e.g., SEO).

Referring to FIG. 3A, a method 310 for generating from one or morekeywords a list of related topics for organic search is depicted. Atstep 311, the method 310 includes receiving, by a topic tool, an inputof one or more keywords for which to generate a list of related topics.At step 312, the method 310 includes acquiring, by a crawler, contentfrom a plurality of different web content sources via one or morenetworks. At step 313, the method 310 includes applying, by the topictool, to the acquired content an ensemble of algorithms to identify aset of semantically relevant topics scored by relevance. At step 314,the method 310 includes generating, by the topic tool, from the set ofsemantically relevant topics, a knowledge graph of related topics forthe input of the one or more keywords. At step 314, the method 310includes outputting, by the topic tool based at least partially on theknowledge graph, an enumerated list of topics ranked by at least arelevance score.

In some embodiments, step 311 may be performed by the topic tool 202 a.In such embodiments, the topic tool 202 a may receive the one or morekeywords for which to generate the list of related topics from a userinterface at a client 102 and via the network 104. For example, the userinterface may correspond to UI 210 or any other UI identified above. Theone or more keywords may be various words or phrases that a user wishesto acquire related topics for. For example, keywords such as keyword 212may be entered into the UI.

In some embodiments, step 312 may be performed by the crawler 202 c. Insuch embodiments, the crawler 202 c may be configured to acquire contentfrom various sources, such as, but not limited to, websites, blogs,articles, and/or the like. For example, the step of acquiring content bythe crawler 202 e may correspond to block 224.

In some embodiments, step 313 may be performed by the topic tool 202 a,which may receive the content acquired from the crawler 202 e. Infurther embodiments, the topic tool 202 a may access and work inconjunction with the ensemble algorithm 202 d in applying the algorithmsto the acquired content. In particular embodiments, the ensemble ofalgorithms 202 d may include one or more key phrase extractionalgorithms, one or more graph analyses algorithms, and one or morenatural language processing algorithms.

In some embodiments, step 314 may be performed by the topic tool 202 aafter the topic tool 202 a identifies the set of semantically relevanttopics scored by relevance from the content acquired by the crawler 202e. The knowledge graph may correspond to the knowledge graph 229depicted in block 226. In other embodiments, the generation of theknowledge graph is an optional step and may be skipped.

In some embodiments, step 315 may be performed by the topic tool 202 a.In particular embodiments, the topic tool 202 a may output the list oftopics ranked by the relevance scores to the client 102 via the network104. As such, the list of topics may be displayed at the UI at theclient 102. In particular embodiments, the list of topics may take theform of the topic table 213 or any other table identified above. Thelist of topics may further include a relevance score associated witheach topic, and the list of topics may be organized from a highestrelevance score to a lowest relevance score.

Referring to FIG. 3B, a method 320 for auditing content for topicrelevance is depicted. At step 321, the method 320 includes receiving afocus one or more keywords for a website, the website crawled by acrawler for content. At step 322, the method 320 includes applying tothe content an ensemble of algorithms to identify a set of semanticrelevant topics scored by relevance. At step 323, the method 320includes identifying a plurality of pages of the website with one ormore related topics from the set of semantically relevant topics. Atstep 324, the method 320 includes generating a content performancemetric for each page of the plurality of pages. At step 325, the method320 includes outputting a topical content score for the content, thetopical content score identifying a level of coverage of the topic bythe content of the website.

In some embodiments, step 321 may be performed by the content audit tool202 b. In such embodiments, the content audit tool 202 b may receive thefocus one or more keywords from a user interface at a client 102 and viathe network 104. For example, the user interface may correspond to UI250 or any other UI identified above. The focus one or more keywords maybe various words or phrases that a user wishes to analyze the providedwebsite for. For example, keywords such as keyword 253 a may be enteredinto the UI. In further embodiments, the crawler 202 e receives thewebsite address from the UI via the network 104.

In some embodiments, step 322 may be performed by the content audit tool202 b, which may receive the content acquired from the crawler 202 e. Infurther embodiments, the content audit tool 202 b may access and work inconjunction with the ensemble of algorithms 202 d in applying thealgorithms to the acquired content. In particular embodiments, theensemble of algorithms 202 d may include one or more key phraseextraction algorithms, one or more graph analyses algorithms, and one ormore natural language processing algorithms.

In some embodiments, step 323 may be performed by the content audit tool202 b. The content audit tool 202 b may receive the content acquired bythe crawler 202 e and parse the content to identify relevant pages ofthe website.

In some embodiments, step 324 may be performed by the content audit tool202 b. The content performance metric may be based on the frequency thatrelevant topics occur in the pages of the website.

In some embodiments, step 325 may be performed by the content audit tool202 b. In particular embodiments, the content audit tool 202 b mayoutput the topical content score to the client 102 via the network 104.As such, the topical content score may be displayed at the UI at theclient 102. In particular embodiments, the content score may take theform of the table 254 or 261. In some embodiments, content scores areassociated with corresponding pages of the website (FIG. 2F). In otherembodiments, the content score is associated with user-entered content(FIG. 2G).

While the invention has been particularly shown and described withreference to specific embodiments, it should be understood by thoseskilled in the art that various changes in form and detail may be madetherein without departing from the spirit and scope of the inventiondescribed in this disclosure.

What is claimed is:
 1. A method for generating from one or more keywordsa list of related topics for organic search, the method comprising: (a)receiving, by a topic tool, an input of one or more keywords for whichto generate a list of related topics; (b) acquiring, by a crawler,content from a plurality of different web content sources via one ormore networks; (c) applying, by the topic tool, to the acquired contentan ensemble of one or more key phrase extraction algorithms, one or moregraph analyses algorithms and one or more natural language processingalgorithms to identify a set of semantically relevant topics scored byrelevance; (d) generating, by the topic tool, from the set ofsemantically relevant topics, a knowledge graph of related topics forthe one or more keywords; and (e) outputting, by the topic tool based atleast partially on the knowledge graph, an enumerated list of topicsranked by at least a relevance score.
 2. The method of claim 1, wherein(a) further comprises receiving, by the topic tool, the input of one ormore keywords from a topic inventory tool, the topic inventory toolgenerating the input keyword from analyses of content from an identifiedweb site.
 3. The method of claim 1, wherein (b) further comprisesacquiring content, by the crawler, from the plurality of different webcontent sources comprising web sites, news articles, blog posts andkeyword data.
 4. The method of claim 1, wherein (b) further comprisescleansing and normalizing the acquired content.
 5. The method of claim1, wherein the one or more key phrase extraction algorithms comprise aBayesian statistical ensemble.
 6. The method of claim 1, wherein (c)further comprises performing a plurality of term ranking functions areperformed including one or more of the following: a core phrase termranking function, a tail phrase term ranking function, a hyperdictionarygraph traversal algorithm and a semantic knowledgebase path traversalscore.
 7. The method of claim 1, wherein (c) further comprises applyinga weight to each of the one or more algorithms of the ensemble togenerate the relevance score for the set of semantic relevance scoredphrases.
 8. The method of claim 1, wherein (e) further comprisesoutputting the enumerated list of topics ranked by a measure offrequency comprising one or more of the following: frequency in pagebody, frequency in title, and number of pages where the topics occur. 9.The method of claim 1, wherein (e) further comprises outputting theenumerated list of topics ranked by at least one of an attractivenessscore, a volume score and a competition score.
 10. The method of claim1, wherein (e) further comprises outputting the enumerated list oftopics ranked by an estimated equivalent value associated with paidadvertising.
 11. A system for generating from one or more keywords alist of related topics for organic search, the system comprising: acrawler configured to acquire content from a plurality of different webcontent sources via one or more networks; and a topic tool configured toexecute on a processor to: receive an input of one or more keywords forwhich to generate a list of related topics; apply to the acquiredcontent an ensemble of one or more key phrase extraction algorithms, oneor more graph analyses algorithms and one or more natural languageprocessing algorithms to identify a set of semantically relevant topicsscored by relevance; generate from the set of semantically relevanttopics, a knowledge graph of related topics for the input of the one ormore keywords; and output based at least partially on the knowledgegraph, an enumerated list of topics ranked by at least a relevancescore.
 12. The system of claim 11, further comprising a topic inventorytool configured to generate the input of one or more keywords fromanalyses of content from an identified web site.
 13. The system of claim11, wherein the key phrase extraction algorithms comprise a Bayesianstatistical ensemble.
 14. The system of claim 11, wherein the ensembleis further configured to perform a plurality of term ranking functionsincluding one or more of the following: a core phrase term rankingfunction, a tail phrase term ranking function, a hyperdictionary graphtraversal algorithm and a semantic knowledgebase path traversal score.15. The system of claim 1, wherein (e) further comprises outputting theenumerated list of topics ranked by one or more of the following: ameasure of frequency, an attractiveness score, a volume score and acompetition score.
 16. A system comprising a content audit toolconfigured to execute on a processer to: receive a focus one or morekeywords for a website, the website crawled by a crawler for content;apply to the content an ensemble of one or more key phrase extractionalgorithms, one or more graph analyses algorithms and one or morenatural language processing algorithms to identify a set of semanticrelevant topics scored by relevance; identify a plurality of pages ofthe website with one or more related topics from the set of semanticallyrelevant topics; generate a content performance metric for each page ofthe plurality of pages; and output a topical content score for thecontent, the topical content score identifying a level of coverage ofthe topic by the content of the website.
 17. The system of claim 16,wherein the content audit tool is further configured to filter contentby at least one of company name, product name or people's names.
 18. Thesystem of claim 16, wherein the content audit tool is further configuredto output a relevance score for each related topic of the set of one ormore related topics.
 19. The system of claim 16, wherein the contentaudit tool is further configured to output a count of a number ofinstances of each related topic.
 20. The system of claim 16, wherein thecontent audit tool is further configured to output a total number ofmentions of related topics in the content.